package com.hand.demo.domain.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;
import io.choerodon.mybatis.domain.AuditDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 工作经历及实习经历表(HhrTaJobExp)实体类
 *
 * @author
 * @since 2025-06-16 12:16:53
 */

@ApiModel("工作经历及实习经历表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "hhr_ta_job_exp")
public class HhrTaJobExp extends AuditDomain {
    private static final long serialVersionUID = -94489963547248784L;

    public static final String FIELD_ID = "id";
    public static final String FIELD_END_DATE = "endDate";
    public static final String FIELD_JOB_CAPACITY = "jobCapacity";
    public static final String FIELD_JOB_CONTENT = "jobContent";
    public static final String FIELD_JOB_CPY = "jobCpy";
    public static final String FIELD_JOB_CPY_DESC = "jobCpyDesc";
    public static final String FIELD_JOB_CPY_SIZE = "jobCpySize";
    public static final String FIELD_JOB_DEPT = "jobDept";
    public static final String FIELD_JOB_DURATION = "jobDuration";
    public static final String FIELD_JOB_INDUSTRY = "jobIndustry";
    public static final String FIELD_JOB_LOCATION = "jobLocation";
    public static final String FIELD_JOB_NATURE = "jobNature";
    public static final String FIELD_JOB_POS_TYPE = "jobPosType";
    public static final String FIELD_JOB_POS_TYPE_P = "jobPosTypeP";
    public static final String FIELD_JOB_POSITION = "jobPosition";
    public static final String FIELD_JOB_REPORT_TO = "jobReportTo";
    public static final String FIELD_JOB_SALARY = "jobSalary";
    public static final String FIELD_JOB_STAFF = "jobStaff";
    public static final String FIELD_JOB_WHY_LEAVE = "jobWhyLeave";
    public static final String FIELD_RESUME_ID = "resumeId";
    public static final String FIELD_START_DATE = "startDate";
    public static final String FIELD_TENANT_ID = "tenantId";

    @ApiModelProperty("自增主键")
    @Id
    @GeneratedValue
    private Long id;

    @ApiModelProperty(value = "结束日期(原始文本格式)")
    private String endDate;

    @ApiModelProperty(value = "工作能力描述")
    private Object jobCapacity;

    @ApiModelProperty(value = "工作内容(原始格式)")
    private Object jobContent;

    @ApiModelProperty(value = "公司名称(原始)")
    private String jobCpy;

    @ApiModelProperty(value = "公司描述")
    private Object jobCpyDesc;

    @ApiModelProperty(value = "公司规模")
    private String jobCpySize;

    @ApiModelProperty(value = "所在部门")
    private String jobDept;

    @ApiModelProperty(value = "持续时间")
    private String jobDuration;

    @ApiModelProperty(value = "行业名称(原始)")
    private String jobIndustry;

    @ApiModelProperty(value = "工作地点(原始)")
    private String jobLocation;

    @ApiModelProperty(value = "工作性质(全职/兼职/实习)")
    private String jobNature;

    @ApiModelProperty(value = "职能类型(用户填写)")
    private String jobPosType;

    @ApiModelProperty(value = "职能类型(模型预测)")
    private String jobPosTypeP;

    @ApiModelProperty(value = "职位名称")
    private String jobPosition;

    @ApiModelProperty(value = "汇报对象")
    private String jobReportTo;

    @ApiModelProperty(value = "工作薪资(原始文本)")
    private String jobSalary;

    @ApiModelProperty(value = "下属人数")
    private String jobStaff;

    @ApiModelProperty(value = "离职原因")
    private String jobWhyLeave;

    @ApiModelProperty(value = "关联简历ID", required = true)
    @NotNull
    private Long resumeId;

    @ApiModelProperty(value = "开始日期(原始文本格式)")
    private String startDate;

    @ApiModelProperty(value = "租户ID", required = true)
    @NotNull
    private Long tenantId;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public Object getJobCapacity() {
        return jobCapacity;
    }

    public void setJobCapacity(Object jobCapacity) {
        this.jobCapacity = jobCapacity;
    }

    public Object getJobContent() {
        return jobContent;
    }

    public void setJobContent(Object jobContent) {
        this.jobContent = jobContent;
    }

    public String getJobCpy() {
        return jobCpy;
    }

    public void setJobCpy(String jobCpy) {
        this.jobCpy = jobCpy;
    }

    public Object getJobCpyDesc() {
        return jobCpyDesc;
    }

    public void setJobCpyDesc(Object jobCpyDesc) {
        this.jobCpyDesc = jobCpyDesc;
    }

    public String getJobCpySize() {
        return jobCpySize;
    }

    public void setJobCpySize(String jobCpySize) {
        this.jobCpySize = jobCpySize;
    }

    public String getJobDept() {
        return jobDept;
    }

    public void setJobDept(String jobDept) {
        this.jobDept = jobDept;
    }

    public String getJobDuration() {
        return jobDuration;
    }

    public void setJobDuration(String jobDuration) {
        this.jobDuration = jobDuration;
    }

    public String getJobIndustry() {
        return jobIndustry;
    }

    public void setJobIndustry(String jobIndustry) {
        this.jobIndustry = jobIndustry;
    }

    public String getJobLocation() {
        return jobLocation;
    }

    public void setJobLocation(String jobLocation) {
        this.jobLocation = jobLocation;
    }

    public String getJobNature() {
        return jobNature;
    }

    public void setJobNature(String jobNature) {
        this.jobNature = jobNature;
    }

    public String getJobPosType() {
        return jobPosType;
    }

    public void setJobPosType(String jobPosType) {
        this.jobPosType = jobPosType;
    }

    public String getJobPosTypeP() {
        return jobPosTypeP;
    }

    public void setJobPosTypeP(String jobPosTypeP) {
        this.jobPosTypeP = jobPosTypeP;
    }

    public String getJobPosition() {
        return jobPosition;
    }

    public void setJobPosition(String jobPosition) {
        this.jobPosition = jobPosition;
    }

    public String getJobReportTo() {
        return jobReportTo;
    }

    public void setJobReportTo(String jobReportTo) {
        this.jobReportTo = jobReportTo;
    }

    public String getJobSalary() {
        return jobSalary;
    }

    public void setJobSalary(String jobSalary) {
        this.jobSalary = jobSalary;
    }

    public String getJobStaff() {
        return jobStaff;
    }

    public void setJobStaff(String jobStaff) {
        this.jobStaff = jobStaff;
    }

    public String getJobWhyLeave() {
        return jobWhyLeave;
    }

    public void setJobWhyLeave(String jobWhyLeave) {
        this.jobWhyLeave = jobWhyLeave;
    }

    public Long getResumeId() {
        return resumeId;
    }

    public void setResumeId(Long resumeId) {
        this.resumeId = resumeId;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

}

